\section{ec\+\_\+fsm\+\_\+slave\+\_\+scan Struct Reference}
\label{structec__fsm__slave__scan}\index{ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}}


Finite state machine for scanning an Ether\+C\+AT slave.  


\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\textbf{ ec\+\_\+slave\+\_\+t} $\ast$ \textbf{ slave}
\begin{DoxyCompactList}\small\item\em Slave the F\+SM runs on. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$ \textbf{ datagram}
\begin{DoxyCompactList}\small\item\em Datagram used in the state machine. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+fsm\+\_\+slave\+\_\+config\+\_\+t} $\ast$ \textbf{ fsm\+\_\+slave\+\_\+config}
\begin{DoxyCompactList}\small\item\em Slave configuration state machine to use. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t} $\ast$ \textbf{ fsm\+\_\+pdo}
\begin{DoxyCompactList}\small\item\em P\+DO configuration state machine to use. \end{DoxyCompactList}\item 
unsigned int \textbf{ retries}
\begin{DoxyCompactList}\small\item\em Retries on datagram timeout. \end{DoxyCompactList}\item 
void($\ast$ \textbf{ state} )(\textbf{ ec\+\_\+fsm\+\_\+slave\+\_\+scan\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em State function. \end{DoxyCompactList}\item 
uint16\+\_\+t \textbf{ sii\+\_\+offset}
\begin{DoxyCompactList}\small\item\em S\+II offset in words. \end{DoxyCompactList}\item 
\textbf{ ec\+\_\+fsm\+\_\+sii\+\_\+t} \textbf{ fsm\+\_\+sii}
\begin{DoxyCompactList}\small\item\em S\+II state machine. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Finite state machine for scanning an Ether\+C\+AT slave. 

Definition at line 55 of file fsm\+\_\+slave\+\_\+scan.\+h.



\subsection{Field Documentation}
\mbox{\label{structec__fsm__slave__scan_a54c987af1db08e3a333d98f76d71de15}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}!slave@{slave}}
\index{slave@{slave}!ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}}
\subsubsection{slave}
{\footnotesize\ttfamily \textbf{ ec\+\_\+slave\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+scan\+::slave}



Slave the F\+SM runs on. 



Definition at line 57 of file fsm\+\_\+slave\+\_\+scan.\+h.

\mbox{\label{structec__fsm__slave__scan_a93ae94f618186affb1530667745ba774}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}!datagram@{datagram}}
\index{datagram@{datagram}!ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}}
\subsubsection{datagram}
{\footnotesize\ttfamily \textbf{ ec\+\_\+datagram\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+scan\+::datagram}



Datagram used in the state machine. 



Definition at line 58 of file fsm\+\_\+slave\+\_\+scan.\+h.

\mbox{\label{structec__fsm__slave__scan_a39373f1c4e973c777cd3e27e040b8f66}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}!fsm\+\_\+slave\+\_\+config@{fsm\+\_\+slave\+\_\+config}}
\index{fsm\+\_\+slave\+\_\+config@{fsm\+\_\+slave\+\_\+config}!ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}}
\subsubsection{fsm\+\_\+slave\+\_\+config}
{\footnotesize\ttfamily \textbf{ ec\+\_\+fsm\+\_\+slave\+\_\+config\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+scan\+::fsm\+\_\+slave\+\_\+config}



Slave configuration state machine to use. 



Definition at line 59 of file fsm\+\_\+slave\+\_\+scan.\+h.

\mbox{\label{structec__fsm__slave__scan_adb7c9afd6972b238a744177aaa869dd7}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}!fsm\+\_\+pdo@{fsm\+\_\+pdo}}
\index{fsm\+\_\+pdo@{fsm\+\_\+pdo}!ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}}
\subsubsection{fsm\+\_\+pdo}
{\footnotesize\ttfamily \textbf{ ec\+\_\+fsm\+\_\+pdo\+\_\+t}$\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+scan\+::fsm\+\_\+pdo}



P\+DO configuration state machine to use. 



Definition at line 61 of file fsm\+\_\+slave\+\_\+scan.\+h.

\mbox{\label{structec__fsm__slave__scan_a1abcaa2e075365336e45fa216c2a6ac5}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}!retries@{retries}}
\index{retries@{retries}!ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}}
\subsubsection{retries}
{\footnotesize\ttfamily unsigned int ec\+\_\+fsm\+\_\+slave\+\_\+scan\+::retries}



Retries on datagram timeout. 



Definition at line 62 of file fsm\+\_\+slave\+\_\+scan.\+h.

\mbox{\label{structec__fsm__slave__scan_a57047f145feb90cdd13026d7e8b0db28}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}!state@{state}}
\index{state@{state}!ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}}
\subsubsection{state}
{\footnotesize\ttfamily void($\ast$ ec\+\_\+fsm\+\_\+slave\+\_\+scan\+::state) (\textbf{ ec\+\_\+fsm\+\_\+slave\+\_\+scan\+\_\+t} $\ast$)}



State function. 



Definition at line 64 of file fsm\+\_\+slave\+\_\+scan.\+h.

\mbox{\label{structec__fsm__slave__scan_a8cb75bc7d08ed43d9915f1d2a4411d5f}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}!sii\+\_\+offset@{sii\+\_\+offset}}
\index{sii\+\_\+offset@{sii\+\_\+offset}!ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}}
\subsubsection{sii\+\_\+offset}
{\footnotesize\ttfamily uint16\+\_\+t ec\+\_\+fsm\+\_\+slave\+\_\+scan\+::sii\+\_\+offset}



S\+II offset in words. 



Definition at line 65 of file fsm\+\_\+slave\+\_\+scan.\+h.

\mbox{\label{structec__fsm__slave__scan_a711257451b14076272e1731592a42b61}} 
\index{ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}!fsm\+\_\+sii@{fsm\+\_\+sii}}
\index{fsm\+\_\+sii@{fsm\+\_\+sii}!ec\+\_\+fsm\+\_\+slave\+\_\+scan@{ec\+\_\+fsm\+\_\+slave\+\_\+scan}}
\subsubsection{fsm\+\_\+sii}
{\footnotesize\ttfamily \textbf{ ec\+\_\+fsm\+\_\+sii\+\_\+t} ec\+\_\+fsm\+\_\+slave\+\_\+scan\+::fsm\+\_\+sii}



S\+II state machine. 



Definition at line 67 of file fsm\+\_\+slave\+\_\+scan.\+h.

